package br.com.hmm.businesslogic;

import java.util.List;

import br.com.hmm.dao.CategoriaDAO;
import br.com.hmm.entidade.Categoria;

public class CategoriaService {
	
	/**
	 * Construtor da Classe CategoriaService
	 */
	private CategoriaService(){
		
	}
	
	/**
	 * 
	 * @param categoria
	 * @return
	 */
	public static boolean inserir(Categoria categoria){
		try{
			if(checarCategoria(categoria) == true){
				return false;
			}
			CategoriaDAO catDAO = new CategoriaDAO();
			if(catDAO.inserir(categoria) == true){
				return true;
			}			
		}catch(Exception e){
			e.printStackTrace();
		}
		
		return false;
		
	}
	
	/**
	 * 
	 * @param categoria
	 * @return
	 */
	private static boolean checarCategoria(Categoria categoria){
		try{
			CategoriaDAO catDAO = new CategoriaDAO();
			if(catDAO.existeCategoria(categoria) == true){
				return true;
			}
		}catch(Exception e){
			e.printStackTrace();
		}		
		
		return false;
	}
	
	/**
	 * 
	 * @param categoria
	 * @return
	 */
	public static boolean atualizarCategoria(Categoria categoria){
		try{
			CategoriaDAO catDAO = new CategoriaDAO();
			if(catDAO.atualizar(categoria) == true){
				return true;
			}			
		}catch(Exception e){
			e.printStackTrace();
		}	
		
		return false;
	}
	
	/**
	 * 
	 * @return
	 */
	public static List<Categoria> list(){
		try{
			CategoriaDAO catDAO = new CategoriaDAO();
			return catDAO.list();
			
		}catch(Exception e ){
			e.printStackTrace();
		}
		return null;
		
	}
	
	public static boolean delete(Categoria categoria){
		try{
			CategoriaDAO catDao = new CategoriaDAO();
			if(catDao.delete(categoria) == true){
				return true;
			}
		}catch(Exception e){
			e.printStackTrace();
		}
		return false;
	}
	
	public static Categoria findById(int id){
		try{
			CategoriaDAO catDAO = new CategoriaDAO();
			return catDAO.findById(id);
		}catch(Exception e){
			e.printStackTrace();
		}
		return null;
	}

}
